package pf.springBoot.springBootSSO.controller.Bonus;
//package pf.springBoot.springBootMetabaseLogin.controller.Bonus;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//
//import pf.springBoot.springBootMetabaseLogin.service.BalanceService;
//
//@Controller
//public class MeshworkController {
//
//    @Autowired
//    private BalanceService _balanceService;
////    //private BalanceService _service { get { return _balanceService; } }
////    //#region Field
////    private StoreColumnCollection _dataStoreColumns =
////      new StoreColumnCollection("bonus"){
////      "hybh"
////    ,  "hyxm"
////    //,  "agentno"
////    ,  "ch"
////    ,  "bjhybh"
////    ,  "qxmonth"
////    //, {"级别",a=>a.Children=new StoreColumnCollection {
////    //    { "hpos",b=>b.title="最高" }, { "qpos",b=>b.title="当前" }
////    //} }
////    
////    , new StoreColumn{title="级别",Children=new StoreColumnCollection {
////        { "hpos",b=>b.title="最高" }, { "qpos",b=>b.title="当前" }
////    } }
////    //,  "hpos"
////    //,  "qpos"
////    ,  "grjf"
////    ,  "xzjf"
////    ,  "jsjf"
////    ,  "yxzjf"
////    , { "zzjf" ,a=> { a.title="整组累积分";a.visible=false; } }
////    ,  "xsb"
////    ,  "gdc"
////    ,  "sflag"
////
////            };
//    //#endregion
////    public MeshworkController():base()
////    {
////    }
//    [MvcMenuFilter]
//    public ActionResult Index(string hybh = null)
//    {
//        //CreateUserVisitLog("查询网络图");
//        CreateUserVisitLog(FgsFunc["YJQ_Bonus_Meshwork_Index"]);
//        var dbList = new List<KeyValuePair<object, object>>{
//            new KeyValuePair<object, object> ("D1","全部"),
//            new KeyValuePair<object, object> ("HJ","活跃"),
//            new KeyValuePair<object, object> ("HJ1","五星"),
//            new KeyValuePair<object, object> ("HJ2","合格五星"),
//            new KeyValuePair<object, object> ("HJ3","金钻"),
//            new KeyValuePair<object, object> ("HJ22","双金钻")
//        };
//        ViewData["dbList"] = dbList;
//        //var addMonth = _service.GetAddMonth();
//        //ViewData["bfFlag"] = addMonth.BFFlag;
//        return View((object)hybh);
//    }
//    [MvcMenuFilter("Index")]
//    public ActionResult TreeGrid(MvcPagingParameters p)
//    {
//        var rootStore = DoGetData(p);
//        ViewData["loadByFloor"] = (new TreeListItem { Children = rootStore }).GetAllChildrenCount() > 1000;
//        ViewData["sf"] = p["sf"];
//        ViewData["url"] = string.Format("/Bonus/Meshwork/GetData?hybh={0}&db={1}&ch={2}", p["hybh"], p["db"], p["ch"]);
//        ViewData["dataStoreColumns"] = _dataStoreColumns;
//        var addMonth = _service.GetAddMonth();
//        ViewData["bfFlag"] = addMonth.BFFlag;
//        return View(rootStore);
//    }
//
//    private List<TreeListItem> DoGetData(MvcPagingParameters p)
//    {
//        string hybh = p["hybh"];
//        string db = p["db"];
//        int ch = int.Parse(p["ch"]);
//        var all = getDataList(hybh, db, ch);
//        var allTree = all.Select(a => new TreeListItem { Data = a }).ToList();
//        var rootStore = all.Where(a => a.ch == 0).ToList().Select(a => new TreeListItem { Data = a }).ToList();
//        PFDataHelper.BuildTreeList(allTree, rootStore, (l, parent) =>
//        {
//            var c = new List<TreeListItem>();
//            l.ForEach(ll => {
//                var aa = ((Meshwork)ll.Data);
//                var bb = ((Meshwork)parent.Data);
//                //var cc = "cc";
//                if (aa.bjhybh.Trim() == bb.hybh.Trim() && aa.ch == bb.ch + 1
//                )
//                {
//                    c.Add(ll);
//                }
//                //if (aa.ch == 3)
//                //{
//                //    var ee = "ee";
//                //}
//                //var dd = "dd";
//            });
//            //var c = l.Where(a => ((Meshwork)a.Data).bjhybh == ((Meshwork)parent.Data).hybh).ToList();
//            return c;
//        });
//        //BuildTreeList(allTree, rootStore, (l, parent) => { return l.Where(a => ((Meshwork)a.Data).bjhybh == ((Meshwork)parent.Data).hybh).ToList(); });
//
//        return rootStore;
//
//    }
//    public JsonResult GetOneFloorData(MvcPagingParameters p)//单层加载
//    {
//        string hybh = p["hybh"];
//        string db = p["db"];
//        int ch = int.Parse(p["ch"]);
//        //子级参数
//        var strCurCh = p["curCh"];//第一层为空
//        var strBjhybh = p["bjhybh"];//第一层为空
//
//        var all = getDataList(hybh, db, ch);
//        int minCh = all.Min(c => (int?)c.ch) ?? -1;
//        int curCh = string.IsNullOrWhiteSpace(strCurCh) ? minCh : int.Parse(strCurCh);
//        var tree = new List<TreeListItem>();
//        if (string.IsNullOrWhiteSpace(strBjhybh))
//        {
//            tree = all.Where(a => a.ch == curCh).Select(a => new TreeListItem { Data = a }).ToList();
//        }
//        else
//        {
//            tree = all.Where(a => a.ch == curCh && a.bjhybh == strBjhybh).Select(a => new TreeListItem { Data = a }).ToList();
//        }
//        
//
//        return base.TreeStore(tree,
//           _dataStoreColumns
//             );
//
//    }
//
//    public ActionResult GetData(MvcPagingParameters p)
//    {
//        var rootStore = DoGetData(p);
//        return base.TreeStore(rootStore,
//            _dataStoreColumns
//             );
//    }
//    
//
//    public ActionResult GetHbData(MvcPagingParameters p)
//    {
//        var hybh = p["hybh"];
//        SetTableCacheKey("GetHbData");
//        var all = GetCacheTable(() => {
//            var dt=_service.GetHb(hybh);
//            if (dt != null && dt.Columns["hybh"] != null)
//            {
//                dt.Columns["hybh"].ExtendedProperties["visible"] = false;
//            }
//            return dt;
//        }, hybh);
//            return base.PagingStore(all, p,//null,
//                true, "bonus");
//    }
//
//    /// <summary>
//    /// 获取数据
//    /// </summary>
//    /// <param name="flag">查询参数是否改变</param>
//    /// <returns></returns>
//    private List<Meshwork> getDataList(string hybh, string db,int ch)
//    {
//        List<Meshwork> list = null;
//        //var dt = _service.GetMeshwork(hybh, db, ch);
//        SetTableCacheKey("getDataList");
//        var dt = GetCacheTable(() => _service.GetMeshwork(hybh, db, ch), hybh, db, ch);
//        //list = dt == null ? new List<Meshwork>() : dt.ToList<Meshwork>();
//        list = dt == null ? new List<Meshwork>() : dt.DataTableToList<Meshwork>();
//
//        return list;
//
//    }
//
//    public ActionResult GetHybfData(MvcPagingParameters p)
//    {
//        var hybh = p["hybh"];
//        
//        SetTableCacheKey("GetHybfData");
//        var all = GetCacheTable(() => {
//            var t = _service.GetHybf(hybh);
//
//            return t;
//        },  hybh);
//
//        return base.PagingStore(all, p,
//            //null,
//            true, "yjquery");
//
//    }
//}
